home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / magic / i / mintbind.i < prev    next >
Encoding:
Modula Implementation  |  1997-10-26  |  8.8 KB  |  322 lines

  1. IMPLEMENTATION MODULE Mintbind;
  2.  
  3. (*==============================================================*
  4.  *                                                              *
  5.  * Mint-Binding fr Megamax Modula-2, unter Benutzung der       *
  6.  * MagicLib von Peter Hellinger.                                *
  7.  *                                                              *
  8.  * (c) 1992 Dirk Steins                                         *
  9.  *                                                              *
  10.  * Dieses Modul ist Freeware!                                   *
  11.  *                                                              *
  12.  *==============================================================*
  13.  * Autor:               Dirk Steins                             *
  14.  * erstellt am:         13.8.1992                               *
  15.  * letzte Žnderung am:  13.8.1992                               *
  16.  * Version:             1.0                                     *
  17.  *==============================================================*
  18.  * Datum    Vers. Autor     Žnderung (Arbeitsbericht)           *
  19.  *==============================================================*
  20.  *
  21.  * 13.8.92  1.0   DS        Modul erstellt
  22.  *
  23.  *==============================================================*)
  24.  
  25. (*$R-*)
  26. (*$S-*)
  27. (*$W-*)
  28.  
  29. FROM SYSTEM IMPORT ADR, ADDRESS, CALLSYS;
  30. FROM MagicSys   IMPORT sINTEGER, lINTEGER, sBITSET, lBITSET, 
  31.                        sCARDINAL, lCARDINAL;
  32.  
  33. FROM FileSys    IMPORT XATTR;
  34.  
  35. PROCEDURE Syield() : sINTEGER;
  36. BEGIN
  37.   RETURN sINTEGER(SHORT(CALLSYS (1,$FF)));
  38. END Syield;
  39.  
  40. PROCEDURE Fpipe (VAR usrh : ARRAY OF sINTEGER): sINTEGER;
  41. BEGIN
  42.   RETURN sINTEGER(SHORT (CALLSYS (1, $100, ADR(usrh))));
  43. END Fpipe;
  44.  
  45. PROCEDURE Fcntl (f : sINTEGER; arg : ADDRESS; cmd : INTEGER): lINTEGER;
  46. BEGIN
  47.   RETURN lINTEGER( CALLSYS (1, $104, f, arg, cmd));
  48. END Fcntl;
  49.  
  50. PROCEDURE Finstat (f : sINTEGER): lINTEGER;
  51. BEGIN
  52.   RETURN lINTEGER (CALLSYS (1,$105, f));
  53. END Finstat;
  54.  
  55. PROCEDURE Foutstat (f : sINTEGER) : lINTEGER;
  56. BEGIN
  57.   RETURN lINTEGER (CALLSYS (1,$106, f));
  58. END Foutstat;
  59.  
  60. PROCEDURE Fgetchar (f : sINTEGER; mode : sINTEGER) : lINTEGER;
  61. BEGIN
  62.   RETURN lINTEGER (CALLSYS (1, $107, f, mode))
  63. END Fgetchar;
  64.  
  65. PROCEDURE Fputchar (f : sINTEGER; char: lINTEGER; mode: sINTEGER): lINTEGER;
  66. BEGIN
  67.   RETURN lINTEGER (CALLSYS (1, $108, f, char, mode));
  68. END Fputchar;
  69.  
  70. PROCEDURE Pwait (): lINTEGER;
  71. BEGIN
  72.   RETURN lINTEGER (CALLSYS (1, $109));
  73. END Pwait;
  74.  
  75. PROCEDURE Pnice (delta : sINTEGER) : sINTEGER;
  76. BEGIN
  77.   RETURN sINTEGER (SHORT(CALLSYS (1, $10A, delta)));
  78. END Pnice;
  79.  
  80. PROCEDURE Pgetpid () : sINTEGER;
  81. BEGIN
  82.   RETURN sINTEGER (SHORT(CALLSYS (1, $10B)));
  83. END Pgetpid;
  84.   
  85. PROCEDURE Pgetppid () : sINTEGER;
  86. BEGIN
  87.   RETURN sINTEGER (SHORT(CALLSYS (1, $10C)));
  88. END Pgetppid;
  89.  
  90. PROCEDURE Pgetpgrp () : sINTEGER;
  91. BEGIN
  92.   RETURN sINTEGER (SHORT(CALLSYS (1, $10D)));
  93. END Pgetpgrp;
  94.  
  95. PROCEDURE Psetpgrp (pid, grp : sINTEGER) : sINTEGER;
  96. BEGIN
  97.   RETURN sINTEGER (SHORT(CALLSYS (1, $10E, pid, grp)));
  98. END Psetpgrp;
  99.  
  100. PROCEDURE Pgetuid () : sINTEGER;
  101. BEGIN
  102.   RETURN sINTEGER (SHORT(CALLSYS (1, $10F)));
  103. END Pgetuid;
  104.  
  105. PROCEDURE Psetuid (id : sINTEGER) : sINTEGER;
  106. BEGIN
  107.   RETURN sINTEGER (SHORT(CALLSYS (1, $110, id)));
  108. END Psetuid;
  109.  
  110. PROCEDURE Pkill (pid, sig : sINTEGER) : sINTEGER;
  111. BEGIN
  112.   RETURN sINTEGER (SHORT(CALLSYS (1, $111, pid, sig)))
  113. END Pkill;
  114.  
  115. PROCEDURE Psignal (sig : sINTEGER; handler : ADDRESS) : ADDRESS;
  116. BEGIN
  117.   RETURN ADDRESS( CALLSYS (1, $112, sig, handler));
  118. END Psignal;
  119.  
  120. PROCEDURE Pvfork () : sINTEGER;
  121. BEGIN
  122.   RETURN sINTEGER (SHORT(CALLSYS (1, $113)))
  123. END Pvfork;
  124.  
  125. PROCEDURE Pgetgid () : sINTEGER;
  126. BEGIN
  127.   RETURN sINTEGER (SHORT(CALLSYS (1, $114)))
  128. END Pgetgid;
  129.  
  130. PROCEDURE Psetgid (id : sINTEGER) : sINTEGER;
  131. BEGIN
  132.   RETURN sINTEGER (SHORT(CALLSYS (1, $115, id)))
  133. END Psetgid;
  134.  
  135. PROCEDURE Psigblock (mask : lBITSET) : lBITSET;
  136. BEGIN
  137.   RETURN lBITSET (CALLSYS (1, $116, mask))
  138. END Psigblock;
  139.  
  140. PROCEDURE Psigsetmask (mask : lBITSET) : lBITSET;
  141. BEGIN
  142.   RETURN lBITSET (CALLSYS (1, $117, mask))
  143. END Psigsetmask;
  144.  
  145. PROCEDURE Pusrval (val : lINTEGER) : lINTEGER;
  146. BEGIN
  147.   RETURN lINTEGER (CALLSYS (1, $118, val))
  148. END Pusrval;
  149.  
  150. PROCEDURE Pdomain (domain : sINTEGER) : sINTEGER;
  151. BEGIN
  152.   RETURN sINTEGER (SHORT(CALLSYS (1, $119, domain)))
  153. END Pdomain;
  154.  
  155. PROCEDURE Psigreturn ();
  156. BEGIN
  157.   CALLSYS (1, $11a);
  158. END Psigreturn;
  159.  
  160. PROCEDURE Pfork () : sINTEGER;
  161. BEGIN
  162.   RETURN sINTEGER (SHORT(CALLSYS (1, $11b)))
  163. END Pfork;
  164.  
  165. PROCEDURE Pwait3 (flag : sINTEGER; VAR rusage : ARRAY OF lINTEGER): lINTEGER;
  166. BEGIN
  167.   RETURN lINTEGER (CALLSYS (1, $11c, flag, ADR (rusage)))
  168. END Pwait3;
  169.  
  170. PROCEDURE Fselect (time : sINTEGER; VAR rfd, wfd : lBITSET; xfd : ADDRESS) : sINTEGER;
  171. BEGIN
  172.   RETURN sINTEGER (SHORT(CALLSYS (1, $11d, time, ADR(rfd), ADR(wfd), xfd)))
  173. END Fselect;
  174.  
  175. PROCEDURE Prusage (VAR r : ARRAY OF LONGINT);
  176. BEGIN
  177.   CALLSYS (1, $11e, ADR (r))
  178. END Prusage;
  179.  
  180. PROCEDURE Psetlimit (limit : sINTEGER; val : lINTEGER) : lINTEGER;
  181. BEGIN
  182.   RETURN lINTEGER (CALLSYS (1, $11f, limit, val))
  183. END Psetlimit;
  184.  
  185. PROCEDURE Talarm (time : lINTEGER) : lINTEGER;
  186. BEGIN
  187.   RETURN lINTEGER (CALLSYS (1, $120, time))
  188. END Talarm;
  189.  
  190. PROCEDURE Pause ();
  191. BEGIN
  192.   CALLSYS (1, $121);
  193. END Pause;
  194.  
  195. PROCEDURE Sysconf (n : sINTEGER): lINTEGER;
  196. BEGIN
  197.   RETURN lINTEGER (CALLSYS (1, $122, n))
  198. END Sysconf;
  199.  
  200. PROCEDURE Psigpending () : lBITSET;
  201. BEGIN
  202.   RETURN lBITSET (CALLSYS (1, $123))
  203. END Psigpending;
  204.  
  205. PROCEDURE Dpathconf (REF name : ARRAY OF CHAR; mode : sINTEGER) : lINTEGER;
  206. BEGIN
  207.   RETURN lINTEGER (CALLSYS (1, $124, ADR(name), mode))
  208. END Dpathconf;
  209.  
  210. PROCEDURE Pmsg (mode : sINTEGER; mboxid : lINTEGER; VAR msg : Msg) : lINTEGER;
  211. BEGIN
  212.   RETURN lINTEGER (CALLSYS (1, $125, mode, mboxid, ADR(msg)))
  213. END Pmsg;
  214.  
  215. PROCEDURE Fmidipipe (pid, in, out : sINTEGER) : lINTEGER;
  216. BEGIN
  217.   RETURN lINTEGER (CALLSYS (1, $126, pid, in, out))
  218. END Fmidipipe;
  219.  
  220. PROCEDURE Prenice (pid, delta : sINTEGER) : lINTEGER;
  221. BEGIN
  222.   RETURN lINTEGER (CALLSYS (1, $127, pid, delta))
  223. END Prenice;
  224.  
  225. PROCEDURE Dopendir (REF name : ARRAY OF CHAR; flag : sINTEGER) : lINTEGER;
  226. BEGIN
  227.   RETURN lINTEGER (CALLSYS (1, $128, ADR (name), flag))
  228. END Dopendir;
  229.  
  230. PROCEDURE Dreaddir (handle : lINTEGER; VAR name : ARRAY OF CHAR) : lINTEGER;
  231. BEGIN
  232.   RETURN lINTEGER (CALLSYS (1, $129, HIGH (name), handle, ADR(name)))
  233. END Dreaddir;
  234.  
  235. PROCEDURE Dxreaddir (handle : lINTEGER; VAR name : ARRAY OF CHAR; 
  236.                      VAR xattr : XATTR; VAR xr: lINTEGER) : lINTEGER;
  237. BEGIN
  238.   RETURN lINTEGER (CALLSYS (1, $142, HIGH (name), handle, ADR(name), ADR (xattr), ADR (xr)))
  239. END Dxreaddir;
  240.  
  241. PROCEDURE Drewinddir (handle : lINTEGER) : lINTEGER;
  242. BEGIN
  243.   RETURN lINTEGER (CALLSYS (1, $12a, handle))
  244. END Drewinddir;
  245.  
  246. PROCEDURE Dclosedir (handle : lINTEGER) : lINTEGER;
  247. BEGIN
  248.   RETURN lINTEGER (CALLSYS (1, $12b, handle))
  249. END Dclosedir;
  250.  
  251. PROCEDURE Fxattr (flag : sINTEGER; REF name : ARRAY OF CHAR; VAR xattr : XATTR) : lINTEGER;
  252. BEGIN
  253.   RETURN lINTEGER (CALLSYS (1, $12c, flag, ADR(name), ADR (xattr)))
  254. END Fxattr;
  255.  
  256. PROCEDURE Flink (REF oldname, newname : ARRAY OF CHAR) : lINTEGER;
  257. BEGIN
  258.   RETURN lINTEGER (CALLSYS (1, $12d, ADR(oldname), ADR(newname)))
  259. END Flink;
  260.  
  261. PROCEDURE Fsymlink (REF oldname, newname : ARRAY OF CHAR) : lINTEGER;
  262. BEGIN
  263.   RETURN lINTEGER (CALLSYS (1, $12e, ADR(oldname), ADR(newname)))
  264. END Fsymlink;
  265.  
  266. PROCEDURE Freadlink (REF name : ARRAY OF CHAR; VAR buf : ARRAY OF CHAR) : lINTEGER;
  267. BEGIN
  268.   RETURN lINTEGER (CALLSYS (1, $12f, HIGH (buf), ADR(name), ADR(buf)))
  269. END Freadlink;
  270.  
  271. PROCEDURE Dcntl (cmd : sINTEGER; REF name : ARRAY OF CHAR; arg : lINTEGER) : lINTEGER;
  272. BEGIN
  273.   RETURN lINTEGER (CALLSYS (1, $130, cmd, ADR(name), arg))
  274. END Dcntl;
  275.  
  276. PROCEDURE Fchown (REF name : ARRAY OF CHAR; uid, gid : sINTEGER) : lINTEGER;
  277. BEGIN
  278.   RETURN lINTEGER (CALLSYS (1, $131, ADR(name), uid, gid))
  279. END Fchown;
  280.  
  281. PROCEDURE Fchmod (REF name : ARRAY OF CHAR; mode : sBITSET) : lINTEGER;
  282. BEGIN
  283.   RETURN lINTEGER (CALLSYS (1, $132, ADR(name), mode))
  284. END Fchmod;
  285.  
  286. PROCEDURE Pumask (mode : sBITSET): sBITSET;
  287. BEGIN
  288.   RETURN sBITSET (SHORT(CALLSYS (1, $133, mode)))
  289. END Pumask;
  290.  
  291. PROCEDURE Psemaphore (mode : sINTEGER; id : lCARDINAL; timeout : lINTEGER) : lINTEGER;
  292. BEGIN
  293.   RETURN lINTEGER (CALLSYS (1, $134, mode, id, timeout))
  294. END Psemaphore;
  295.  
  296. PROCEDURE Dlock (mode : sINTEGER; drv : sINTEGER) : lINTEGER;
  297. BEGIN
  298.   RETURN lINTEGER (CALLSYS (1, $135, mode, drv))
  299. END Dlock;
  300.  
  301. PROCEDURE Psigpause (mask : lBITSET);
  302. BEGIN
  303.   CALLSYS (1, $136, mask)
  304. END Psigpause;
  305.  
  306. PROCEDURE Psigaction (sig : sINTEGER; VAR act : SigAction; VAR oact : SigAction) : lINTEGER;
  307. BEGIN
  308.   RETURN lINTEGER (CALLSYS (1, $137, sig, ADR(act), ADR (oact)))
  309. END Psigaction;
  310.  
  311. PROCEDURE Pgeteuid() : sINTEGER;
  312. BEGIN
  313.   RETURN sINTEGER (SHORT(CALLSYS (1, $138)))
  314. END Pgeteuid;
  315.  
  316. PROCEDURE Pgetegid() : sINTEGER;
  317. BEGIN
  318.   RETURN sINTEGER (SHORT(CALLSYS (1, $139)))
  319. END Pgetegid;
  320.  
  321. END Mintbind.
  322.